{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# alpha-helix"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Schniepp Lab, 2018–2021\n",
    "\n",
    "Coordinates (https://www.rcsb.org/pdb/explore/remediatedSequence.do?structureId=2N3E)  \n",
    "Spherical: https://en.wikipedia.org/wiki/Spherical_coordinate_system, ISO convention"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from mpl_toolkits.mplot3d import axes3d, Axes3D\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "%matplotlib notebook\n",
    "%load_ext autoreload\n",
    "%autoreload 2\n",
    "\n",
    "# Several classes and helper functions, see individual files for comments\n",
    "from Vector import Vector\n",
    "from Helpers import degree_to_radian, radian_to_degree, rotate_by_degree\n",
    "from Atom import Atom\n",
    "from Amino import Amino"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# read atom coordinates from modified pdb file\n",
    "file = open('PDB-2n3e.txt', 'r')\n",
    "Lines = file.readlines()\n",
    "a_helix = []\n",
    "coord = []\n",
    "idx = 0\n",
    "\n",
    "for i, line in enumerate(Lines):\n",
    "#     print(line)\n",
    "    if line == '####\\n' or i == len(Lines) - 1:\n",
    "        if idx == 0:\n",
    "            # The first amino acid doesn't have a prev amino acid\n",
    "            a_helix.append(Amino(c_amino, idx, coord))\n",
    "        else:\n",
    "            a_helix.append(Amino(c_amino, idx, coord, prev = a_helix[idx - 1]))\n",
    "        coord = []\n",
    "        idx += 1\n",
    "    else:\n",
    "        t_line = line.split()\n",
    "        c_amino = t_line[3]\n",
    "        coord.append([float(t_line[6]), float(t_line[7]), float(t_line[8])])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/javascript": [
       "/* Put everything inside the global mpl namespace */\n",
       "window.mpl = {};\n",
       "\n",
       "\n",
       "mpl.get_websocket_type = function() {\n",
       "    if (typeof(WebSocket) !== 'undefined') {\n",
       "        return WebSocket;\n",
       "    } else if (typeof(MozWebSocket) !== 'undefined') {\n",
       "        return MozWebSocket;\n",
       "    } else {\n",
       "        alert('Your browser does not have WebSocket support.' +\n",
       "              'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
       "              'Firefox 4 and 5 are also supported but you ' +\n",
       "              'have to enable WebSockets in about:config.');\n",
       "    };\n",
       "}\n",
       "\n",
       "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
       "    this.id = figure_id;\n",
       "\n",
       "    this.ws = websocket;\n",
       "\n",
       "    this.supports_binary = (this.ws.binaryType != undefined);\n",
       "\n",
       "    if (!this.supports_binary) {\n",
       "        var warnings = document.getElementById(\"mpl-warnings\");\n",
       "        if (warnings) {\n",
       "            warnings.style.display = 'block';\n",
       "            warnings.textContent = (\n",
       "                \"This browser does not support binary websocket messages. \" +\n",
       "                    \"Performance may be slow.\");\n",
       "        }\n",
       "    }\n",
       "\n",
       "    this.imageObj = new Image();\n",
       "\n",
       "    this.context = undefined;\n",
       "    this.message = undefined;\n",
       "    this.canvas = undefined;\n",
       "    this.rubberband_canvas = undefined;\n",
       "    this.rubberband_context = undefined;\n",
       "    this.format_dropdown = undefined;\n",
       "\n",
       "    this.image_mode = 'full';\n",
       "\n",
       "    this.root = $('<div/>');\n",
       "    this._root_extra_style(this.root)\n",
       "    this.root.attr('style', 'display: inline-block');\n",
       "\n",
       "    $(parent_element).append(this.root);\n",
       "\n",
       "    this._init_header(this);\n",
       "    this._init_canvas(this);\n",
       "    this._init_toolbar(this);\n",
       "\n",
       "    var fig = this;\n",
       "\n",
       "    this.waiting = false;\n",
       "\n",
       "    this.ws.onopen =  function () {\n",
       "            fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
       "            fig.send_message(\"send_image_mode\", {});\n",
       "            if (mpl.ratio != 1) {\n",
       "                fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
       "            }\n",
       "            fig.send_message(\"refresh\", {});\n",
       "        }\n",
       "\n",
       "    this.imageObj.onload = function() {\n",
       "            if (fig.image_mode == 'full') {\n",
       "                // Full images could contain transparency (where diff images\n",
       "                // almost always do), so we need to clear the canvas so that\n",
       "                // there is no ghosting.\n",
       "                fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
       "            }\n",
       "            fig.context.drawImage(fig.imageObj, 0, 0);\n",
       "        };\n",
       "\n",
       "    this.imageObj.onunload = function() {\n",
       "        fig.ws.close();\n",
       "    }\n",
       "\n",
       "    this.ws.onmessage = this._make_on_message_function(this);\n",
       "\n",
       "    this.ondownload = ondownload;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_header = function() {\n",
       "    var titlebar = $(\n",
       "        '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
       "        'ui-helper-clearfix\"/>');\n",
       "    var titletext = $(\n",
       "        '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
       "        'text-align: center; padding: 3px;\"/>');\n",
       "    titlebar.append(titletext)\n",
       "    this.root.append(titlebar);\n",
       "    this.header = titletext[0];\n",
       "}\n",
       "\n",
       "\n",
       "\n",
       "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
       "\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
       "\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_canvas = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var canvas_div = $('<div/>');\n",
       "\n",
       "    canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
       "\n",
       "    function canvas_keyboard_event(event) {\n",
       "        return fig.key_event(event, event['data']);\n",
       "    }\n",
       "\n",
       "    canvas_div.keydown('key_press', canvas_keyboard_event);\n",
       "    canvas_div.keyup('key_release', canvas_keyboard_event);\n",
       "    this.canvas_div = canvas_div\n",
       "    this._canvas_extra_style(canvas_div)\n",
       "    this.root.append(canvas_div);\n",
       "\n",
       "    var canvas = $('<canvas/>');\n",
       "    canvas.addClass('mpl-canvas');\n",
       "    canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
       "\n",
       "    this.canvas = canvas[0];\n",
       "    this.context = canvas[0].getContext(\"2d\");\n",
       "\n",
       "    var backingStore = this.context.backingStorePixelRatio ||\n",
       "\tthis.context.webkitBackingStorePixelRatio ||\n",
       "\tthis.context.mozBackingStorePixelRatio ||\n",
       "\tthis.context.msBackingStorePixelRatio ||\n",
       "\tthis.context.oBackingStorePixelRatio ||\n",
       "\tthis.context.backingStorePixelRatio || 1;\n",
       "\n",
       "    mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
       "\n",
       "    var rubberband = $('<canvas/>');\n",
       "    rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
       "\n",
       "    var pass_mouse_events = true;\n",
       "\n",
       "    canvas_div.resizable({\n",
       "        start: function(event, ui) {\n",
       "            pass_mouse_events = false;\n",
       "        },\n",
       "        resize: function(event, ui) {\n",
       "            fig.request_resize(ui.size.width, ui.size.height);\n",
       "        },\n",
       "        stop: function(event, ui) {\n",
       "            pass_mouse_events = true;\n",
       "            fig.request_resize(ui.size.width, ui.size.height);\n",
       "        },\n",
       "    });\n",
       "\n",
       "    function mouse_event_fn(event) {\n",
       "        if (pass_mouse_events)\n",
       "            return fig.mouse_event(event, event['data']);\n",
       "    }\n",
       "\n",
       "    rubberband.mousedown('button_press', mouse_event_fn);\n",
       "    rubberband.mouseup('button_release', mouse_event_fn);\n",
       "    // Throttle sequential mouse events to 1 every 20ms.\n",
       "    rubberband.mousemove('motion_notify', mouse_event_fn);\n",
       "\n",
       "    rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
       "    rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
       "\n",
       "    canvas_div.on(\"wheel\", function (event) {\n",
       "        event = event.originalEvent;\n",
       "        event['data'] = 'scroll'\n",
       "        if (event.deltaY < 0) {\n",
       "            event.step = 1;\n",
       "        } else {\n",
       "            event.step = -1;\n",
       "        }\n",
       "        mouse_event_fn(event);\n",
       "    });\n",
       "\n",
       "    canvas_div.append(canvas);\n",
       "    canvas_div.append(rubberband);\n",
       "\n",
       "    this.rubberband = rubberband;\n",
       "    this.rubberband_canvas = rubberband[0];\n",
       "    this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
       "    this.rubberband_context.strokeStyle = \"#000000\";\n",
       "\n",
       "    this._resize_canvas = function(width, height) {\n",
       "        // Keep the size of the canvas, canvas container, and rubber band\n",
       "        // canvas in synch.\n",
       "        canvas_div.css('width', width)\n",
       "        canvas_div.css('height', height)\n",
       "\n",
       "        canvas.attr('width', width * mpl.ratio);\n",
       "        canvas.attr('height', height * mpl.ratio);\n",
       "        canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
       "\n",
       "        rubberband.attr('width', width);\n",
       "        rubberband.attr('height', height);\n",
       "    }\n",
       "\n",
       "    // Set the figure to an initial 600x600px, this will subsequently be updated\n",
       "    // upon first draw.\n",
       "    this._resize_canvas(600, 600);\n",
       "\n",
       "    // Disable right mouse context menu.\n",
       "    $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
       "        return false;\n",
       "    });\n",
       "\n",
       "    function set_focus () {\n",
       "        canvas.focus();\n",
       "        canvas_div.focus();\n",
       "    }\n",
       "\n",
       "    window.setTimeout(set_focus, 100);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_toolbar = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var nav_element = $('<div/>')\n",
       "    nav_element.attr('style', 'width: 100%');\n",
       "    this.root.append(nav_element);\n",
       "\n",
       "    // Define a callback function for later on.\n",
       "    function toolbar_event(event) {\n",
       "        return fig.toolbar_button_onclick(event['data']);\n",
       "    }\n",
       "    function toolbar_mouse_event(event) {\n",
       "        return fig.toolbar_button_onmouseover(event['data']);\n",
       "    }\n",
       "\n",
       "    for(var toolbar_ind in mpl.toolbar_items) {\n",
       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
       "\n",
       "        if (!name) {\n",
       "            // put a spacer in here.\n",
       "            continue;\n",
       "        }\n",
       "        var button = $('<button/>');\n",
       "        button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
       "                        'ui-button-icon-only');\n",
       "        button.attr('role', 'button');\n",
       "        button.attr('aria-disabled', 'false');\n",
       "        button.click(method_name, toolbar_event);\n",
       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
       "\n",
       "        var icon_img = $('<span/>');\n",
       "        icon_img.addClass('ui-button-icon-primary ui-icon');\n",
       "        icon_img.addClass(image);\n",
       "        icon_img.addClass('ui-corner-all');\n",
       "\n",
       "        var tooltip_span = $('<span/>');\n",
       "        tooltip_span.addClass('ui-button-text');\n",
       "        tooltip_span.html(tooltip);\n",
       "\n",
       "        button.append(icon_img);\n",
       "        button.append(tooltip_span);\n",
       "\n",
       "        nav_element.append(button);\n",
       "    }\n",
       "\n",
       "    var fmt_picker_span = $('<span/>');\n",
       "\n",
       "    var fmt_picker = $('<select/>');\n",
       "    fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
       "    fmt_picker_span.append(fmt_picker);\n",
       "    nav_element.append(fmt_picker_span);\n",
       "    this.format_dropdown = fmt_picker[0];\n",
       "\n",
       "    for (var ind in mpl.extensions) {\n",
       "        var fmt = mpl.extensions[ind];\n",
       "        var option = $(\n",
       "            '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
       "        fmt_picker.append(option)\n",
       "    }\n",
       "\n",
       "    // Add hover states to the ui-buttons\n",
       "    $( \".ui-button\" ).hover(\n",
       "        function() { $(this).addClass(\"ui-state-hover\");},\n",
       "        function() { $(this).removeClass(\"ui-state-hover\");}\n",
       "    );\n",
       "\n",
       "    var status_bar = $('<span class=\"mpl-message\"/>');\n",
       "    nav_element.append(status_bar);\n",
       "    this.message = status_bar[0];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
       "    // which will in turn request a refresh of the image.\n",
       "    this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.send_message = function(type, properties) {\n",
       "    properties['type'] = type;\n",
       "    properties['figure_id'] = this.id;\n",
       "    this.ws.send(JSON.stringify(properties));\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.send_draw_message = function() {\n",
       "    if (!this.waiting) {\n",
       "        this.waiting = true;\n",
       "        this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
       "    }\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
       "    var format_dropdown = fig.format_dropdown;\n",
       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
       "    fig.ondownload(fig, format);\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
       "    var size = msg['size'];\n",
       "    if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
       "        fig._resize_canvas(size[0], size[1]);\n",
       "        fig.send_message(\"refresh\", {});\n",
       "    };\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
       "    var x0 = msg['x0'] / mpl.ratio;\n",
       "    var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
       "    var x1 = msg['x1'] / mpl.ratio;\n",
       "    var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
       "    x0 = Math.floor(x0) + 0.5;\n",
       "    y0 = Math.floor(y0) + 0.5;\n",
       "    x1 = Math.floor(x1) + 0.5;\n",
       "    y1 = Math.floor(y1) + 0.5;\n",
       "    var min_x = Math.min(x0, x1);\n",
       "    var min_y = Math.min(y0, y1);\n",
       "    var width = Math.abs(x1 - x0);\n",
       "    var height = Math.abs(y1 - y0);\n",
       "\n",
       "    fig.rubberband_context.clearRect(\n",
       "        0, 0, fig.canvas.width, fig.canvas.height);\n",
       "\n",
       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
       "    // Updates the figure title.\n",
       "    fig.header.textContent = msg['label'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
       "    var cursor = msg['cursor'];\n",
       "    switch(cursor)\n",
       "    {\n",
       "    case 0:\n",
       "        cursor = 'pointer';\n",
       "        break;\n",
       "    case 1:\n",
       "        cursor = 'default';\n",
       "        break;\n",
       "    case 2:\n",
       "        cursor = 'crosshair';\n",
       "        break;\n",
       "    case 3:\n",
       "        cursor = 'move';\n",
       "        break;\n",
       "    }\n",
       "    fig.rubberband_canvas.style.cursor = cursor;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
       "    fig.message.textContent = msg['message'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
       "    // Request the server to send over a new figure.\n",
       "    fig.send_draw_message();\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
       "    fig.image_mode = msg['mode'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.updated_canvas_event = function() {\n",
       "    // Called whenever the canvas gets updated.\n",
       "    this.send_message(\"ack\", {});\n",
       "}\n",
       "\n",
       "// A function to construct a web socket function for onmessage handling.\n",
       "// Called in the figure constructor.\n",
       "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
       "    return function socket_on_message(evt) {\n",
       "        if (evt.data instanceof Blob) {\n",
       "            /* FIXME: We get \"Resource interpreted as Image but\n",
       "             * transferred with MIME type text/plain:\" errors on\n",
       "             * Chrome.  But how to set the MIME type?  It doesn't seem\n",
       "             * to be part of the websocket stream */\n",
       "            evt.data.type = \"image/png\";\n",
       "\n",
       "            /* Free the memory for the previous frames */\n",
       "            if (fig.imageObj.src) {\n",
       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
       "                    fig.imageObj.src);\n",
       "            }\n",
       "\n",
       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
       "                evt.data);\n",
       "            fig.updated_canvas_event();\n",
       "            fig.waiting = false;\n",
       "            return;\n",
       "        }\n",
       "        else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
       "            fig.imageObj.src = evt.data;\n",
       "            fig.updated_canvas_event();\n",
       "            fig.waiting = false;\n",
       "            return;\n",
       "        }\n",
       "\n",
       "        var msg = JSON.parse(evt.data);\n",
       "        var msg_type = msg['type'];\n",
       "\n",
       "        // Call the  \"handle_{type}\" callback, which takes\n",
       "        // the figure and JSON message as its only arguments.\n",
       "        try {\n",
       "            var callback = fig[\"handle_\" + msg_type];\n",
       "        } catch (e) {\n",
       "            console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
       "            return;\n",
       "        }\n",
       "\n",
       "        if (callback) {\n",
       "            try {\n",
       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
       "                callback(fig, msg);\n",
       "            } catch (e) {\n",
       "                console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
       "            }\n",
       "        }\n",
       "    };\n",
       "}\n",
       "\n",
       "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
       "mpl.findpos = function(e) {\n",
       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
       "    var targ;\n",
       "    if (!e)\n",
       "        e = window.event;\n",
       "    if (e.target)\n",
       "        targ = e.target;\n",
       "    else if (e.srcElement)\n",
       "        targ = e.srcElement;\n",
       "    if (targ.nodeType == 3) // defeat Safari bug\n",
       "        targ = targ.parentNode;\n",
       "\n",
       "    // jQuery normalizes the pageX and pageY\n",
       "    // pageX,Y are the mouse positions relative to the document\n",
       "    // offset() returns the position of the element relative to the document\n",
       "    var x = e.pageX - $(targ).offset().left;\n",
       "    var y = e.pageY - $(targ).offset().top;\n",
       "\n",
       "    return {\"x\": x, \"y\": y};\n",
       "};\n",
       "\n",
       "/*\n",
       " * return a copy of an object with only non-object keys\n",
       " * we need this to avoid circular references\n",
       " * http://stackoverflow.com/a/24161582/3208463\n",
       " */\n",
       "function simpleKeys (original) {\n",
       "  return Object.keys(original).reduce(function (obj, key) {\n",
       "    if (typeof original[key] !== 'object')\n",
       "        obj[key] = original[key]\n",
       "    return obj;\n",
       "  }, {});\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.mouse_event = function(event, name) {\n",
       "    var canvas_pos = mpl.findpos(event)\n",
       "\n",
       "    if (name === 'button_press')\n",
       "    {\n",
       "        this.canvas.focus();\n",
       "        this.canvas_div.focus();\n",
       "    }\n",
       "\n",
       "    var x = canvas_pos.x * mpl.ratio;\n",
       "    var y = canvas_pos.y * mpl.ratio;\n",
       "\n",
       "    this.send_message(name, {x: x, y: y, button: event.button,\n",
       "                             step: event.step,\n",
       "                             guiEvent: simpleKeys(event)});\n",
       "\n",
       "    /* This prevents the web browser from automatically changing to\n",
       "     * the text insertion cursor when the button is pressed.  We want\n",
       "     * to control all of the cursor setting manually through the\n",
       "     * 'cursor' event from matplotlib */\n",
       "    event.preventDefault();\n",
       "    return false;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
       "    // Handle any extra behaviour associated with a key event\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.key_event = function(event, name) {\n",
       "\n",
       "    // Prevent repeat events\n",
       "    if (name == 'key_press')\n",
       "    {\n",
       "        if (event.which === this._key)\n",
       "            return;\n",
       "        else\n",
       "            this._key = event.which;\n",
       "    }\n",
       "    if (name == 'key_release')\n",
       "        this._key = null;\n",
       "\n",
       "    var value = '';\n",
       "    if (event.ctrlKey && event.which != 17)\n",
       "        value += \"ctrl+\";\n",
       "    if (event.altKey && event.which != 18)\n",
       "        value += \"alt+\";\n",
       "    if (event.shiftKey && event.which != 16)\n",
       "        value += \"shift+\";\n",
       "\n",
       "    value += 'k';\n",
       "    value += event.which.toString();\n",
       "\n",
       "    this._key_event_extra(event, name);\n",
       "\n",
       "    this.send_message(name, {key: value,\n",
       "                             guiEvent: simpleKeys(event)});\n",
       "    return false;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
       "    if (name == 'download') {\n",
       "        this.handle_save(this, null);\n",
       "    } else {\n",
       "        this.send_message(\"toolbar_button\", {name: name});\n",
       "    }\n",
       "};\n",
       "\n",
       "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
       "    this.message.textContent = tooltip;\n",
       "};\n",
       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to  previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
       "\n",
       "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
       "\n",
       "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
       "    // object with the appropriate methods. Currently this is a non binary\n",
       "    // socket, so there is still some room for performance tuning.\n",
       "    var ws = {};\n",
       "\n",
       "    ws.close = function() {\n",
       "        comm.close()\n",
       "    };\n",
       "    ws.send = function(m) {\n",
       "        //console.log('sending', m);\n",
       "        comm.send(m);\n",
       "    };\n",
       "    // Register the callback with on_msg.\n",
       "    comm.on_msg(function(msg) {\n",
       "        //console.log('receiving', msg['content']['data'], msg);\n",
       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
       "        ws.onmessage(msg['content']['data'])\n",
       "    });\n",
       "    return ws;\n",
       "}\n",
       "\n",
       "mpl.mpl_figure_comm = function(comm, msg) {\n",
       "    // This is the function which gets called when the mpl process\n",
       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
       "\n",
       "    var id = msg.content.data.id;\n",
       "    // Get hold of the div created by the display call when the Comm\n",
       "    // socket was opened in Python.\n",
       "    var element = $(\"#\" + id);\n",
       "    var ws_proxy = comm_websocket_adapter(comm)\n",
       "\n",
       "    function ondownload(figure, format) {\n",
       "        window.open(figure.imageObj.src);\n",
       "    }\n",
       "\n",
       "    var fig = new mpl.figure(id, ws_proxy,\n",
       "                           ondownload,\n",
       "                           element.get(0));\n",
       "\n",
       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
       "    // web socket which is closed, not our websocket->open comm proxy.\n",
       "    ws_proxy.onopen();\n",
       "\n",
       "    fig.parent_element = element.get(0);\n",
       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
       "    if (!fig.cell_info) {\n",
       "        console.error(\"Failed to find cell for figure\", id, fig);\n",
       "        return;\n",
       "    }\n",
       "\n",
       "    var output_index = fig.cell_info[2]\n",
       "    var cell = fig.cell_info[0];\n",
       "\n",
       "};\n",
       "\n",
       "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
       "    var width = fig.canvas.width/mpl.ratio\n",
       "    fig.root.unbind('remove')\n",
       "\n",
       "    // Update the output cell to use the data from the current canvas.\n",
       "    fig.push_to_output();\n",
       "    var dataURL = fig.canvas.toDataURL();\n",
       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
       "    // the notebook keyboard shortcuts fail.\n",
       "    IPython.keyboard_manager.enable()\n",
       "    $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
       "    fig.close_ws(fig, msg);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.close_ws = function(fig, msg){\n",
       "    fig.send_message('closing', msg);\n",
       "    // fig.ws.close()\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
       "    // Turn the data on the canvas into data in the output cell.\n",
       "    var width = this.canvas.width/mpl.ratio\n",
       "    var dataURL = this.canvas.toDataURL();\n",
       "    this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.updated_canvas_event = function() {\n",
       "    // Tell IPython that the notebook contents must change.\n",
       "    IPython.notebook.set_dirty(true);\n",
       "    this.send_message(\"ack\", {});\n",
       "    var fig = this;\n",
       "    // Wait a second, then push the new image to the DOM so\n",
       "    // that it is saved nicely (might be nice to debounce this).\n",
       "    setTimeout(function () { fig.push_to_output() }, 1000);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_toolbar = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var nav_element = $('<div/>')\n",
       "    nav_element.attr('style', 'width: 100%');\n",
       "    this.root.append(nav_element);\n",
       "\n",
       "    // Define a callback function for later on.\n",
       "    function toolbar_event(event) {\n",
       "        return fig.toolbar_button_onclick(event['data']);\n",
       "    }\n",
       "    function toolbar_mouse_event(event) {\n",
       "        return fig.toolbar_button_onmouseover(event['data']);\n",
       "    }\n",
       "\n",
       "    for(var toolbar_ind in mpl.toolbar_items){\n",
       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
       "\n",
       "        if (!name) { continue; };\n",
       "\n",
       "        var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
       "        button.click(method_name, toolbar_event);\n",
       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
       "        nav_element.append(button);\n",
       "    }\n",
       "\n",
       "    // Add the status bar.\n",
       "    var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
       "    nav_element.append(status_bar);\n",
       "    this.message = status_bar[0];\n",
       "\n",
       "    // Add the close button to the window.\n",
       "    var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
       "    var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
       "    button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
       "    button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
       "    buttongrp.append(button);\n",
       "    var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
       "    titlebar.prepend(buttongrp);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._root_extra_style = function(el){\n",
       "    var fig = this\n",
       "    el.on(\"remove\", function(){\n",
       "\tfig.close_ws(fig, {});\n",
       "    });\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._canvas_extra_style = function(el){\n",
       "    // this is important to make the div 'focusable\n",
       "    el.attr('tabindex', 0)\n",
       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
       "    // off when our div gets focus\n",
       "\n",
       "    // location in version 3\n",
       "    if (IPython.notebook.keyboard_manager) {\n",
       "        IPython.notebook.keyboard_manager.register_events(el);\n",
       "    }\n",
       "    else {\n",
       "        // location in version 2\n",
       "        IPython.keyboard_manager.register_events(el);\n",
       "    }\n",
       "\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
       "    var manager = IPython.notebook.keyboard_manager;\n",
       "    if (!manager)\n",
       "        manager = IPython.keyboard_manager;\n",
       "\n",
       "    // Check for shift+enter\n",
       "    if (event.shiftKey && event.which == 13) {\n",
       "        this.canvas_div.blur();\n",
       "        event.shiftKey = false;\n",
       "        // Send a \"J\" for go to next cell\n",
       "        event.which = 74;\n",
       "        event.keyCode = 74;\n",
       "        manager.command_mode();\n",
       "        manager.handle_keydown(event);\n",
       "    }\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
       "    fig.ondownload(fig, null);\n",
       "}\n",
       "\n",
       "\n",
       "mpl.find_output_cell = function(html_output) {\n",
       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
       "    // IPython event is triggered only after the cells have been serialised, which for\n",
       "    // our purposes (turning an active figure into a static one), is too late.\n",
       "    var cells = IPython.notebook.get_cells();\n",
       "    var ncells = cells.length;\n",
       "    for (var i=0; i<ncells; i++) {\n",
       "        var cell = cells[i];\n",
       "        if (cell.cell_type === 'code'){\n",
       "            for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
       "                var data = cell.output_area.outputs[j];\n",
       "                if (data.data) {\n",
       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
       "                    data = data.data;\n",
       "                }\n",
       "                if (data['text/html'] == html_output) {\n",
       "                    return [cell, data, j];\n",
       "                }\n",
       "            }\n",
       "        }\n",
       "    }\n",
       "}\n",
       "\n",
       "// Register the function which deals with the matplotlib target/channel.\n",
       "// The kernel may be null if the page has been refreshed.\n",
       "if (IPython.notebook.kernel != null) {\n",
       "    IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
       "}\n"
      ],
      "text/plain": [
       "<IPython.core.display.Javascript object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<img src=\"data:image/png;base64,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05lNeVUJDFICCsBBerDelgQ6QaC/ubNMljj99NPDlmo9CGfMmBG85/Cl23LLLbP99tsvu+666zLGmBVZCMCnn346W7VqVd/TSCNvvfXWdV8G82usaTCvHjduXBCuCMA1a9b027FcZD8+thiBZkYYFruCj5aABPIEFIC+HyTQhQTw19t7772z6dOnB7NlFoIGcUXjxWGHHdaFd9XalhGARA4//PDDhl5o4sSJ2R9//BHm3sZFJBLTbMffNYSw1Ad99913wQqI9zFzi+OaNWtW8JF8++23S72eLyaBXiegAOz1d4D337UEXnrppezYY48NH5ikOhEuxxxzTM/WzSEASR+TbsbMGBFBdI8ZyPUWf3/RRRcFE+q4mIOLiPzoo4+69n3RrRtXAHbrybnvbiWgAOzWk3PfEsiy7Nxzzw0pz+HDhwez5XfffTdjjm4vLiKfv//+exDD33//fagH/Pbbb8Mous0333wDJJtsskm2ZMmSYDcT16JFi8Lzfvzxx15E2NF7NgXcUfxevAcJKAB78NC95cFD4K+//gr1al9//XVomiAt7PqXAA0lO++8c4iITpkyRQHYBW8MmkCwfMH6hUUTCJFabIVsAumCA3SLXUVAAdhVx+VmJfBfAkS36JrEPBnrlfHjx4soRwA2o0aNCqng2mUKOL23CjYwp512WnbvvfcGIYgNzJNPPhk6ubfbbrv0NuyOJNDFBBSAXXx4br23CZAy40OS2j/SnnxYkgbWL+3f9wXpYEQetYE0y9QumkD+/PPP7Pnnn+/7pwMPPDCMpCvaBLLLLrtkX3311QbXwBYHY+PaxfzjM8444z9/Ter+77//7u03dZYFCxhqOekK5719++23B09AlwQkUC4BBWC5PH01CVRGYObMmcH2hIaFzTbbLBs5cmRogMh3tVa2mQQudPHFF4cIKGlfGgpo6KAj+NNPP8222WabDfwHaZ6B2fz587OjjjoqW7ZsWTZv3rymbGDoysbAOi4is6NHj85Wr14dOrPrCcALLrggGBzHhYWOUa4E3khuQQI9QkAB2CMH7W0OLgJM2YgC46CDDgo3t27duozRWQga5vD22po0aVIYPffLL78EwQeX66+/PhsyZEhAUes/yN9hBH355Zf3GUEvWLCgFCNoOosR4p9//nlWzxuRCCCPoU7RJQEJSKATBBSAnaDuNSUggUFLgNT8DjvsECxmokdjvQjg1KlTg+8djQ7Dhg0L0UdG4LkkIAEJVEFAAVgFZa8hAQn0DAGaFiZPnpytX78+CMF666233grRQeoNf/3112zhwoUhevnJJ59kO+64Y8+w8kYlIIHOEVAAdo69V5aABAYhgTFjxmR4DOabSzZ2m3Rx77nnnsGT8Nprr93Yw/13CUhAAi0TUAC2jNAXkIAEJPAvATqBd9tttzDbmKksRdaECRMyZhcvXbq0yNN8rAQkIIGmCCgAm8LmkyQgAQlsSADLGTzsMOZGzDW66CCm/m/s2LE9O8qvUVY+TgISKIeAArAcjr6KBCTQ4wRo5th1111DGpdO7Pw69dRTQ8NHNKSeO3duNmLEiGzo0KGhExjfO2YQM81lr7326nGS3r4EJFAFAQVgFZS9hgQkMOgJvPLKKxn1f3j77b777v+531oLmhkzZoQ0MWbHW265Zbbffvtl1113XbbvvvsOek7eoAQkkAYBBWAa5+AuJCABCUhAAhKQQGUEFICVofZCEpCABCQgAQlIIA0CCsA0zsFdSEACEpCABCQggcoIKAArQ+2FJCABCUhAAhKQQBoEFIBpnIO7kIAEJCABCUhAApURUABWhtoLSUACEpCABCQggTQIKADTOAd3IQEJSEACEpCABCojoACsDLUXkoAEJCABCUhAAmkQUACmcQ7uQgISkIAEJCABCVRGQAFYGWovJAEJSEACEpCABNIgoABM4xzchQQkIAEJSEACEqiMgAKwMtReSAISkIAEJCABCaRBQAGYxjm4CwlIQAISkIAEJFAZAQVgZai9kAQkIAEJSEACEkiDgAIwjXNwFxKQgAQkIAEJSKAyAgrAylB7IQlIQAISkIAEJJAGAQVgGufgLiQgAQlIQAISkEBlBBSAlaH2QhKQgAQkIAEJSCANAgrANM7BXUhAAhKQgAQkIIHKCCgAK0PthSQgAQlIQAISkEAaBBSAaZyDu5CABCQgAQlIQAKVEVAAVobaC0lAAhKQgAQkIIE0CCgA0zgHdyEBCUhAAhKQgAQqI6AArAy1F5KABCQgAQlIQAJpEFAApnEO7kICEpCABCQgAQlURkABWBlqLyQBCUhAAhKQgATSIKAATOMc3IUEJCABCUhAAhKojIACsDLUXkgCEpCABCQgAQmkQUABmMY5uAsJSEACEpCABCRQGQEFYGWovZAEJCABCUhAAhJIg4ACMI1zcBcSkIAEJCABCUigMgIKwMpQeyEJSEACEpCABCSQBgEFYBrn4C4kIAEJSEACEpBAZQQUgJWh9kISkIAEJCABCUggDQIKwDTOwV1IQAISkIAEJCCByggoACtD7YUkIAEJSEACEpBAGgQUgGmcg7uQgAQkIAEJSEAClRFQAFaG2gtJQAISkIAEJCCBNAgoANM4B3chAQlIQAISkIAEKiOgAKwMtReSgAQkIAEJSEACaRBQAKZxDu5CAhKQgAQkIAEJVEZAAVgZai8kAQlIQAISkIAE0iCgAEzjHNyFBCQgAQlIQAISqIyAArAy1F5IAhKQgAQkIAEJpEFAAZjGObgLCUhAAhKQgAQkUBkBBWBlqL2QBCQgAQlIQAISSIOAAjCNc3AXEpCABCQgAQlIoDICCsDKUHshCUhAAhKQgAQkkAYBBWAa5+AuJCABCUhAAhKQQGUEFICVofZCEpCABCQgAQlIIA0CCsA0zsFdSEACEpCABCQggcoIKAArQ+2FJCABCUhAAhKQQBoE/g9pJJF0ZNuFVgAAAABJRU5ErkJggg==\" width=\"640\">"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "Text(0.5,0,'z')"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# plot atoms\n",
    "%matplotlib notebook\n",
    "fig = plt.figure()\n",
    "ax = fig.add_subplot(111, projection = '3d')\n",
    "colors = {'C': 'k', 'H': 'b', 'N': 'g', 'O': 'r'}\n",
    "sizes = {'C': 30, 'H': 10, 'N': 30, 'O': 30}\n",
    "x = []\n",
    "y = []\n",
    "z = []\n",
    "for amino in a_helix:\n",
    "    ax.scatter(amino.N.x, amino.N.y, amino.N.z, c = colors[amino.N.a_type], marker = 'o', \\\n",
    "               s = sizes[amino.N.a_type])\n",
    "    ax.scatter(amino.CA.x, amino.CA.y, amino.CA.z, c = colors[amino.CA.a_type], marker = 'o', \\\n",
    "               s = sizes[amino.CA.a_type])\n",
    "    ax.scatter(amino.C.x, amino.C.y, amino.C.z, c = colors[amino.C.a_type], marker = 'o', \\\n",
    "               s = sizes[amino.C.a_type])\n",
    "    ax.scatter(amino.O.x, amino.O.y, amino.O.z, c = colors[amino.O.a_type], marker = 'o', \\\n",
    "               s = sizes[amino.O.a_type])\n",
    "    ax.scatter(amino.H.x, amino.H.y, amino.H.z, c = colors[amino.H.a_type], marker = 'o', \\\n",
    "               s = sizes[amino.H.a_type])\n",
    "    ax.scatter(amino.HA.x, amino.HA.y, amino.HA.z, c = colors[amino.HA.a_type], marker = 'o', \\\n",
    "               s = sizes[amino.HA.a_type])\n",
    "    \n",
    "    x.append(amino.N.x)\n",
    "    x.append(amino.CA.x)\n",
    "    x.append(amino.C.x)\n",
    "    x.append(amino.O.x)\n",
    "    x.append(amino.H.x)\n",
    "    x.append(amino.HA.x)\n",
    "    \n",
    "    y.append(amino.N.y)\n",
    "    y.append(amino.CA.y)\n",
    "    y.append(amino.C.y)\n",
    "    y.append(amino.O.y)\n",
    "    y.append(amino.H.y)\n",
    "    y.append(amino.HA.y)\n",
    "    \n",
    "    z.append(amino.N.z)\n",
    "    z.append(amino.CA.z)\n",
    "    z.append(amino.C.z)\n",
    "    z.append(amino.O.z)\n",
    "    z.append(amino.H.z)\n",
    "    z.append(amino.HA.z)\n",
    "\n",
    "# Plot the helix axis, see the next cell for the numbers\n",
    "ax.plot([-8.85, 8.56], [-1.63, 22.42], [-5.41, 8.26], '--')\n",
    "\n",
    "# Plot each atom\n",
    "ax.set_xlabel('x')\n",
    "ax.set_ylabel('y')\n",
    "ax.set_zlabel('z')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "# roughly estimate the axis direction\n",
    "\n",
    "xy = np.array(list(zip(x, y)))\n",
    "zz = np.array(z)\n",
    "a = np.linalg.lstsq(xy, zz, rcond = None)\n",
    "\n",
    "a[0][0] * 8.56 + a[0][1] * 22.42\n",
    "\n",
    "h_axis_1 = Vector(p1 = (-8.85, -1.63, -5.41), p2 = (8.56, 22.42, 8.26))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "z_axis = Vector(x=0, y = 0, z = 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "65.2776831164613"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "z_axis.get_angle_between(h_axis_1, unit = 'degree')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "# calculate P values for each amino acid and obtain the average\n",
    "\n",
    "COs = []\n",
    "CACs = []\n",
    "CNs = []\n",
    "NCAs = []\n",
    "NHib = []\n",
    "for i, amino in enumerate(a_helix):\n",
    "#     print(amino.CO.get_angle_between(h_axis_1, unit = 'degree'))\n",
    "    COs.append(amino.get_CO_P(h_axis_1))\n",
    "    CACs.append(amino.get_CAC_P(h_axis_1))\n",
    "    NCAs.append(amino.get_NCA_P(h_axis_1))\n",
    "    if i != 0:\n",
    "        CNs.append(amino.get_CN_P(h_axis_1))\n",
    "        NHib.append(amino.get_NHib_P(h_axis_1))\n",
    "    \n",
    "CO_m = np.mean(COs)\n",
    "CAC_m = np.mean(CACs)\n",
    "CN_m = np.mean(CNs)\n",
    "NCA_m = np.mean(NCAs)\n",
    "NHib_m = np.mean(NHib)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.41876265854757266\n",
      "amino length =  1.5046718490532522\n"
     ]
    }
   ],
   "source": [
    "h_approx_axis = Vector(p1 = a_helix[0].N.get_Cartesian(), p2 = a_helix[-1].N.get_Cartesian())\n",
    "print(h_approx_axis.get_angle_between(h_axis_1, unit = 'degree'))\n",
    "length = h_approx_axis.norm\n",
    "print('amino length = ', length / 15)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "average of CO P values =  0.8872374069319027\n",
      "average of CAC P values =  0.21173114793590792\n",
      "average of CN P values =  -0.6098007297705172\n",
      "average of NCA P values =  0.1129171794613306\n",
      "average of NHib P values =  -0.8431470048833049\n",
      "Amide I (88% COs and 12% CNs):  0.7075928305276122\n",
      "Amide II (52% NHib, 37% CNs, and 11% CACs):  -0.64077228628146\n",
      "Amide III (67% NHib and 33% NCAs):  -0.5276458240495752\n"
     ]
    }
   ],
   "source": [
    "# Results:\n",
    "\n",
    "print('average of CO P values = ', CO_m)\n",
    "print('average of CAC P values = ', CAC_m)\n",
    "print('average of CN P values = ', CN_m)\n",
    "print('average of NCA P values = ', NCA_m)\n",
    "print('average of NHib P values = ', NHib_m)\n",
    "print('Amide I (88% COs and 12% CNs): ', CO_m * 0.88 + CN_m * 0.12)\n",
    "print('Amide II (52% NHib, 37% CNs, and 11% CACs): ', NHib_m * 0.52 + CN_m * 0.37 + CAC_m * 0.11)\n",
    "print('Amide III (67% NHib and 33% NCAs): ', NHib_m * 0.67 + NCA_m *0.33)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
